package com.liangge.essaysite.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.liangge.essaysite.bean.Article;

public interface ArticleDao {
	/**
	 * 根据主键查找记录是否存在
	 * @author liangge
	 */
	public int selectArticleCountByKeys(@Param("params")Map params);
	
	/**
	 * 新增文章
	 * @author liangge
	 */
	public int insertArticle(@Param("article") Article article);
	
	/**
	 * 查找首页最新文章
	 * @author liangge
	 */
	public List<Article> selectNewArticleList(@Param("params")Map params);
	
	/**
	 * 查找首页点击排行
	 * @author liangge
	 */
	public List<Article> selectReadArticleList(@Param("params")Map params);
	
	/**
	 * 查找首页精华排行
	 * @author liangge
	 */
	public List<Article> selectGoodArticleList(@Param("params")Map params);
	
	/**
	 * 查找首页精华排行
	 * @author liangge
	 */
	public List<Article> selectCommentArticleList(@Param("params")Map params);
	
	/**
	 * 查找首页分类列表
	 * @author liangge
	 */
	public List<Article> selectCategoryArticleList(@Param("params")Map params);
	
	/**
	 * 根据status和cteate_time查找文章数量
	 * @author liangge
	 */
	public int selectArticleCountByStatusAndCreateTime(@Param("params")Map params);
	
	/**
	 * 根据status查找文章数量
	 * @author liangge
	 */
	public int selectArticleCountByStatus(@Param("status")int status);
	
	/**
	 * 根据status和categoryId查找文章数量
	 * @author liangge
	 */
	public int selectArticleCountByStatusAndCategoryId(@Param("params")Map params);
	
	/**
	 * 获取首页提交文章的ID
	 * @author liangge
	 */
	public int selectIndexPostArticleId();
}
